This invention relates generally to the distribution of software to processor-based systems.
Software may be distributed from a server to a variety of client processor-based systems. Conventionally, software packages may be periodically sent to a large number of processor-based systems within a network. For example, software updates, new software, application updates, and operating system updates may be distributed from a server to a large number of clients. In distributed networks, it may be necessary to implement an automated system that distributes software to a large number of clients.
Distributing software updates to large numbers of clients connected over a network may dramatically tax server resources. The time and resources devoted to distributing the software to a number of clients may dramatically increase the cost of the software update process. This is particular so when many of the clients may be accessible through relatively low speed connections. For example, with set-top boxes that are basically processor-based systems that use television receivers as displays, relatively lower power processor-based systems may be provided with limited bandwidth Internet connections. The software download speed may be relatively slow. As a result, the server may be taxed with slow downloads to a relatively large number of processor-based systems.
Thus, there is a need for better ways to distribute software to a large number of processor-based systems.